#ifndef _UTILS_SDL_CONFIG_H_
# define _UTILS_SDL_CONFIG_H_

# include "config.h"
# include <SDL/SDL.h>
# include <string>

NS_BEGIN(SDL)
	NS_BEGIN(UTILS)

	struct SDLConfig
	{
	public:
		Uint32 SDLFlags;
		Uint32 Width;
		Uint32 Height;
		Uint32 VideoFlags;
		std::string Title;
		std::string IconPath;
		std::string EnvParams;

	public:
		SDLConfig(Uint32 _sdlFlags = SDL_INIT_VIDEO, Uint32 _width = 800,
				  Uint32 _height = 600,
				  Uint32 _videoFlags = SDL_HWSURFACE | SDL_DOUBLEBUF,
				  std::string const& _title = "Window",
				  std::string const& _iconPath = "",
				  std::string const& _envParams = "SDL_VIDEO_WINDOW_POS=center");
		SDLConfig(SDLConfig const& _sdlConfig);
		~SDLConfig();

		SDLConfig& operator=(SDLConfig const& _sdlConfig);
	};

	NS_END(UTILS)
NS_END(SDL)

#endif //_UTILS_SDL_CONFIG_H_
